package com.loveprogrammer.lowercode.dna.util;

import com.loveprogrammer.lowercode.dna.instance.bo.Cell;
import com.loveprogrammer.lowercode.dna.instance.bo.Inst;
import com.loveprogrammer.lowercode.dna.service.VisitInstInf;

/**
 * @ClassName InstVisitor
 * @Description inst预处理
 * @Author admin
 * @Date 2024/5/31 15:21
 * @Version 1.0
 */
public class InstVisitor {

    /***
     * 递归遍历公共方法
     * @param inst
     * @param visitor
     */
    public static void visitInst(Inst inst, VisitInstInf visitor) {

        if(inst != null) {
            visitor.visit(inst);
        }

        for (Cell cell : inst.getCells()) {
            for (Inst childInst : cell.getChildren().values()) {
                visitInst(childInst,visitor);
            }
        }

    }
}
